#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
'''
@File    :   bric_acs_eval_param.py
@Time    :   2020/11/27
@Author  :   wenke wang
@Version :   1.0
@Desc    :   BRIC-ACS评估参数
'''

# here put the import lib
from decimal import Decimal

class BricAcsEvalParam():
    """
    BRIC-ACS评估参数
    """

    def __init__(self, gender, height, weight, pu, hy, mvd, ct, hb, tg, ldlc):
        self.__gender = gender
        self.__height = int(height)
        self.__weight = Decimal(str(weight))
        self.__pu = Decimal(str(pu))
        self.__hy = Decimal(str(hy))
        self.__mvd = Decimal(str(mvd))
        self.__ct = Decimal(str(ct))
        self.__hb = Decimal(str(hb))
        self.__tg = Decimal(str(tg))
        self.__ldlc = Decimal(str(ldlc))

    @property
    def gender(self):
        """
        性别：M=男,F=女
        """
        return self.__gender
    @gender.setter
    def gender(self, val):
        self.__gender = val
    
    @property
    def height(self):
        """
        身高(cm)
        """
        return self.__height
    @height.setter
    def height(self, val):
        self.__height = int(val)
    
    @property
    def weight(self):
        """
        体重(kg)
        """
        return self.__weight
    @weight.setter
    def weight(self, val):
        self.__weight = Decimal(str(val))

    @property
    def bmi(self):
        """
        BMI
        """
        return (self.__weight / Decimal(str((self.__height / 100) ** 2))).quantize(Decimal("0.00"))

    @property
    def pu(self):
        """
        是否消化道溃疡 Peptic ulcer
        """
        return self.__pu
    @pu.setter
    def pu(self, val):
        self.__pu = Decimal(str(val))

    @property
    def hy(self):
        """
        是否高血压 Hypertension
        """
        return self.__hy
    @hy.setter
    def hy(self, val):
        self.__hy = Decimal(str(val))
    
    @property
    def mvd(self):
        """
        有无多支血管病变（多支病变）Multivessel disease
        """
        return self.__mvd
    @mvd.setter
    def mvd(self, val):
        self.__mvd = Decimal(str(val))
    
    @property
    def ct(self):
        """
        联合用药 Combination therapy
        """
        return self.__ct
    @ct.setter
    def ct(self, val):
        self.__ct = Decimal(str(val))
    
    @property
    def hb(self):
        """
        血红蛋白 Hb
        """
        return self.__hb
    @hb.setter
    def hb(self, val):
        self.__hb = Decimal(str(val))
    
    @property
    def tg(self):
        """
        甘油三酯 TG
        """
        return self.__tg
    @tg.setter
    def tg(self, val):
        self.__tg = Decimal(str(val))
    
    @property
    def ldlc(self):
        """
        低密度脂蛋白胆固醇 LDL-C
        """
        return self.__ldlc
    @ldlc.setter
    def ldlc(self, val):
        self.__ldlc = Decimal(str(val))